#!/bin/bash

menu(){
    echo "1、监控内存使用情况,如果内存使用率大于百分之80，给予提醒"
    echo "2、扫描局域网ip,检查哪些ip地址正在使用"
    echo "3、监控文件/etc/passwd是否被修改，每隔5分钟监控一次"
    echo "4、监控nginx进程是否存在，不存在就给予相应提醒"
}

option_1(){
    total=`free -m|grep -i mem|tr -s " "|cut -d " " -f2`
    #free=`free -m|grep -i mem|tr -s " "|cut -d " " -f4`
    used=`free -m|grep -i mem|tr -s " "|cut -d " " -f3`
    used_rate=`echo "scale=4;$used/$total" |bc`
    #used_1=`echo "$total*0.8"|bc `
    result=` echo "$used_rate>0.8"|bc `
    #echo $result
    if (( $result  == 1 ))
    then
        echo -e "\e[31m使用率超过80%，请及时对内存扩容，以免不必要的损失\e[0m"
    else
        echo  " nothing to do"
    fi
}

option_2(){
        for ip in `seq 255`
    do
        ( ip_full=192.168.0.$ip
        ping -c 1 $ip_full &>/dev/null && echo $ip_full >>up.txt || echo $ip_full >>down.txt
        ) &     # 注：放到后台子进程执行
    done
wait # 父进程等待子进程执行完成之后再退出
}

option_3(){
    check_num=`diff /etc/passwd /lianxi/passwd |wc -l`
    [[ check_num -eq 0 ]] && echo "文件未被修改" || echo "文件已被修改"
}

option_4(){
    pidof nginx && echo "nginx is running" || echo "nginx is down"
}

menu
read -p "请输入你的选择:" option
case $option in
1)
    option_1
    ;;
2)
    option_2
    ;;
3)
    option_3
    ;;
4)
    option_4
    ;;
*)
    echo "请输入1-4"
esac

